﻿// -----------------------------------------------------------------------
// <copyright file="IStudentDetailsService.cs" company="AGR">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace AGR.Services.Student
{
    using System;
    using System.Collections.Generic;
    using AGR.Model;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public interface IStudentDetailsService : IDisposable
    {
        Student GetStudent(string studentCode);
        string GetFullName(string studentCode);

        DateTime GetDateRegistered(string studentCode);
        int GetYearRegistered(string studentCode);
        int GetYearGraduated(string studentCode);

        IList<Course> GetCourses(string studentCode);
        IList<Subject> GetSubjects(string studentCode);

        IList<Subject> GetIncompletedSubjects(string studentCode);
        IList<Subject> GetCompletedSubjects(string studentCode);

        IList<CourseProgress> GetCourseProgresses(string studentCode);
        CourseProgress GetCourseProgress(string studentCode, string courseCode);

        IList<AttendanceCertificate> GetAttendanceCertificates(string studentCode);
        IList<Placement> GetPlacementHistory(string studentCode);
    }
}
